iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
Software Development

新手村的練功筆記系列 第 20

Day20 SQL語法 - IS NULL & IS NOT NULL

  • 分享至 

  • xImage
  •  

今天學習範圍
SQL Lesson 8: A short note on NULLs
https://sqlbolt.com/lesson/select_queries_with_nulls

在昨天我們有觀察到當使用了OUTER JOIN後
有些欄位的值是空的(NULL)的

如果是數值的話 或許你會想我們可以在建立資料的時候幫它補上0就好
但這樣會有一個隱憂 就是這個0的數據並非該欄位的真實數據

原本該欄位就是NULL的狀態 如果補上0來表示的話
後續再做數據分析時就容易有偏差
例如取平均時就會將該數值0也加入母群體中進行計算

如此一來 數據的分析就會偏誤
因此保留其原本的狀態(NULL)也是個合適的方式

那麼 如果我們想要在資料中找出空值(NULL)或 不為空值的欄位
我們可以如何進行呢?

其實在SQL語法中 我們可以直接使用IS NULLIS NOT NULL 語法

接下來就讓我們練習看看吧

第一題

我們要找出尚未被安排辦公室(Building)的員工姓名與其角色

因此我們可以找出Employees表格中 Building欄位仍是空白的員工

所以我們使用 IS NULL 即可

第二題

我們要找出還沒有配對到員工的建築物名稱

首先我們需要先關聯兩張表格才能同時得到員工和建築物的相關資訊
因此 我們需要使用昨天提到的LEFT JOIN 來連結兩張表格
然後再用IS NULL來找出沒有配對到員工的建築物名稱

所以SQL查詢語法會像下方這樣

SELECT * FROM Buildings
LEFT JOIN Employees ON Building_name = Building
WHERE Name IS NULL

今天就先到這邊 明天將學習到更進階的SQL查詢語法


上一篇
Day 19 SQL - OUTER JOIN
下一篇
Day 21 SQL - 好用的函數
系列文
新手村的練功筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言